package com.hyt.it.ogt.pj.data.mapper.kw;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hyt.it.ogt.pj.data.model.entity.kw.SjPaper;
import com.hyt.it.ogt.pj.data.model.vo.pj.ItemDataVO;
import com.hyt.it.ogt.pj.data.model.vo.pj.OptionsDataVO;
import com.hyt.it.ogt.pj.data.model.vo.pj.PaperDataVO;
import com.hyt.it.ogt.pj.data.model.vo.pj.TopicDataVO;

public interface SjPaperMapper extends BaseMapper<SjPaper> {

    /**
     * 获取试卷数据基本信息
     * @param paperId 试卷标识号
     * @param paperVersion 试卷版本号
     * @return 试卷数据基本信息
     */
    PaperDataVO getPaperBaseData(@Param("paperId")String paperId, @Param("paperVersion")String paperVersion);

    /**
     * 获取大题数据列表
     * @param paperId 试卷标识号
     * @param paperVersion 试卷版本号
     * @return 大题数据列表
     */
    List<TopicDataVO> getTopicData(@Param("paperId")String paperId, @Param("paperVersion")String paperVersion);

    /**
     * 获取小题数据列表
     * @param paperId 试卷标识号
     * @param paperVersion 试卷版本号
     * @return 小题数据列表
     */
    List<ItemDataVO> getItemData(@Param("paperId")String paperId, @Param("paperVersion")String paperVersion);

    /**
     * 获取小题数据列表 --- 无题干及描述信息
     * @param paperId 试卷标识号
     * @param paperVersion 试卷版本号
     * @return 小题数据列表
     */
    List<ItemDataVO> getItemDataId(@Param("paperId")String paperId, @Param("paperVersion")String paperVersion);

    /**
     * 获取选项数据列表
     * @param paperId 试卷标识号
     * @param paperVersion 试卷版本号
     * @return 选项数据列表
     */
    List<OptionsDataVO> getOptionsData(@Param("paperId")String paperId, @Param("paperVersion")String paperVersion);

    /**
     * 获取选项数据列表 -- 无题干及描述信息
     * @param paperId 试卷标识号
     * @param paperVersion 试卷版本号
     * @return 选项数据列表
     */
    List<OptionsDataVO> getOptionsDataId(@Param("paperId")String paperId, @Param("paperVersion")String paperVersion);

    /**
     * 获取试卷版本号
     * @param paperId
     * @return
     */
    String getMaxPaperVersion(@Param("paperId")String paperId);

}
